草庐IT

Java Swing:扩展 TreeNode

全部标签

c# - 为什么扩展方法不适用于命名空间别名?

这可能是一个无知的问题,但我不确定为什么我不能同时使用命名空间别名和扩展方法。下面的例子工作得很好:Program.csusingSystem;usingExtensionMethodTest.Domain;namespaceExtensionMethodTest{classProgram{staticvoidMain(string[]args){varm=newDomain.MyClass();varresult=m.UpperCaseName();}}}MyClass.csusingSystem;namespaceExtensionMethodTest.Domain{publicc

c# - 在 Visual Studio 扩展中更改 "Color theme"

我正在用C#编写一个VisualStudio扩展,我希望它会根据一天中的时间更改颜色主题(日落后将应用深色主题-日出时将应用蓝色/浅色主题,具体取决于用户偏好)。我可以使用ShellSettingsManager对象公开的WriteableSettingsStore更改颜色主题。当我执行以下代码时,主题在重新启动VisualStudio后发生变化。varsettingsManager=newShellSettingsManager(this);varwriteableUserStore=settingsManager.GetWritableSettingsStore(SettingsS

c# - 扩展空检查的最佳方法是什么?

你们都这样做:publicvoidProc(objectparameter){if(parameter==null)thrownewArgumentNullException("parameter");//Maincode.}JonSkeet曾经提到他有时会使用扩展程序来执行此检查,因此您只需:parameter.ThrowIfNull("parameter");所以我想出了这个扩展的两个实现,但我不知道哪个是最好的。首先:internalstaticvoidThrowIfNull(thisTo,stringparamName)whereT:class{if(o==null)throw

c# - ASP.NET MVC 路由 - 向路由添加 .html 扩展名

我是MVC和路由的新手,我被要求修改应用程序以使用不同的url。由于我没有经验,这项任务对我来说有点困难。好的,让我们谈谈代码:routes.MapRoute("CategoryBySeName",//Routename"products/{SeName}",//URLwithparametersnew{controller="Catalog",action="CategoryBySeName"});这按预期工作,但随后客户希望路径末尾有“.html”,所以我更改了:"products/{SeName}",//URLwithparameters到:"products/{SeName}.

c# - 强制我的代码使用我的扩展方法

我正在使用BitFactory日志记录,它公开了一堆这样的方法:publicvoidLogWarning(objectaCategory,objectanObject)我有一个扩展方法,可以更好地满足我们的日志记录需求:publicstaticvoidLogWarning(thisCompositeLoggerlogger,stringmessage="",paramsobject[]parameters)这只是总结了一些常见的日志记录操作,意味着我可以像这样记录:Logging.LogWarning("{0}发生错误。ID为{1}",foo,bar);但是当我的paramsobjec

c# - 如何为类型创建扩展方法

我正在编写一个扩展方法来解析任何给定类型的JSON字符串。我想在类型上使用该方法,而不是像我们已经知道的许多示例那样在实例上使用该方法,但我有点觉得VisualStudio不支持它。有人可以在这里启发我吗?方法如下:publicstaticTParseJson(thisTt,stringstr)whereT:Type{if(string.IsNullOrEmpty(str))returnnull;varserializer=newJavaScriptSerializer();varobj=serializer.Deserialize(str);returnobj;}我想以这种方式调用方

c# - 将文件扩展名添加到无扩展名文件

我正在尝试向在我的C#应用程序的OpenFileDialog中选择的文件添加扩展名。我在处理没有扩展名的文件时遇到困难。虽然我还没有在带有扩展名的文件上测试下面的方法,但我知道它不适用于没有扩展名的文件(这确实是我想在这里工作)。stringtPath=videoPath+videoName;stringtPath2=Path.ChangeExtension(tPath,".yuv");tPath2将反射(reflect)到文件头更改,但似乎不会影响文件本身,只会影响ChangeExtension方法返回的字符串。我只是继续将文件复制到一个具有适当名称和扩展名的新文件中,但我们谈论的是

c# - 说明 async/await 和 Reactive (Rx) 扩展范例之间区别的代码示例?

系统。Reactiveextensionfor.NET和newC#5.0(.NET4.5)async/await追求(或基于)futureandpromisesconstructs范式(方法)。您能否给出(*)最简单的C#代码示例来说明它们之间的区别?(*)没有I/O、互联网或数据库连接是否可能?更新:好吧,如果这个问题之前似乎已经回答了,让我重新表述一下。为什么在使用native.NET的同时添加并开始使用.NET的Reactive(Rx)扩展Iobservable/IObserver+await/async?如果没有Rx(即只使用原生.NETIobservable/IObserve

c# - LINQ .Cast() 扩展方法失败但(类型)对象有效

为了在某些LINQtoSQL对象和DTO之间进行转换,我们在DTO上创建了显式转换运算符。这样我们就可以执行以下操作:DTOTypeMyDTO=(LinqToSQLType)MyLinq2SQLObj;这很有效。但是,当您尝试使用LINQ.Cast()扩展方法进行转换时,它会抛出一个无效的转换异常,指出无法将类型Linq2SQLType转换为类型DTOType。即以下不起作用ListNames=dbContact.tNames.Cast().ToList();但下面的工作正常:DAL.tNameMyDalName=newDAL.tName();DTO.NameMyDTOName=(DT

c# - ReactiveUI (RxUI) 与响应式扩展

来自http://docs.reactiveui.net/en/index.html:ReactiveUIisaMVVMframeworkthatallowsyoutousetheReactiveExtensionsfor.NETtocreateelegant,testableUserInterfacesthatrunonanymobileordesktopplatform.RxUI与ReactiveExtensions有什么不同吗?为什么我应该更喜欢RxUI而不是MVVMCross/light+Rx?有什么特别的?RxUI可以做Rx做不到的事情吗?是不是更简洁?是不是更舒服?我在gi